Management of modern telecommunications networks requires performing multiple functions, including call establishment and routing, fault management, call details recording used to compile customer bills, fraud detection and control, new services provisioning, post-dialing delay measurement and time synchronization. Currently, multiple systems within a telecommunications network perform these various functions.
In a telecommunications network, information in the form of signaling messages is exchanged between network elements involved in call establishment and control. Switches, databases and the like are used to carry out the information exchange.
Common channel signaling is an out-of-band technique for exchanging information over channels separate from those used to carry voice or data signals. One well-known signaling technique utilizes the Comite Consultatif International Telegraphique et Telephonique (CCITT) Signaling System no. 7 (SS7) protocol. In the interface between an AT&T network device and a Private Branch Exchange (PBX), a second well known signaling technique utilizes Q.931 protocol. In SS7 protocol, the messages are highly structured information fields of bits that are differentiated from each other by a length indicator. A detailed discussion relating to the format of the SS7 message and to the interrelation of SS7 and Q.931 protocols is given in the CCITT Blue Book, Specification of Signaling System No. 7, Vol. 6 (1988). For a discussion of common channel signaling No. 7 protocol in general, see G. G. Schanger, IEEE Journal on Selected Areas in Communication, Vol. SAC-4, No. 3, pp. 360-65 (1986), and S. Suzuki et al., Review of the Electrical Communication Laboratories, Vol. 28, No. 1-2, pp. 50-65 (1980) (each of which is incorporated herein by reference).
The network elements associated with a typical telecommunications network, such as the AT&T switched network, which are commonly traversed by a call include the following: (1) an originating switch node associated with the network, located in the geographic area of the calling party, which receives a call request message from a local exchange carrier or a competitive access provider, and is responsible for controlling the call set-up; (2) a terminating switch node, also associated with the network, but located in the geographic area of the called party, which connects the call to a local exchange carrier or a private branch exchange associated with the called party; (3) a via switch, used when a direct path between the originating switch node and the terminating switch node is not available because all direct trunks from the originating to the terminating switch nodes are busy, but an idle path exists which may be activated by using the via switch to reach the terminating switch node (for simplicity, references to via switches are omitted in the text and figures); (4) a service control point, which acts as a database that instructs the originating switch node as to the processing and routing of certain calls; and (5) signal transfer points, deployed in mated pairs, connected to the originating switch node, the terminating switch node, and the service control point by access links, used for transferring messages between network elements.
A typical call in North America has a called number of the form N0/1X NXX-XXXX, N being any number 2 through 9, 0/1 being either a 0 or a 1, X being any number 0 through 9, where the 10-digit code from left to right generally represents: a three-digit area code, a three-digit central office code, and a four-digit station number. The area code digits identify a geographic region in North America, the central office code digits identify the central office exchange serving the called party and the station code digits provide identification of the called party.
When the first three digits in the number are 800 or 900, however, the number is not directly associated with a geographic region. Some or all of the digits in an 800/900-type number normally must be translated into a physical destination by a service control point, which maintains a table of 800/900 numbers and the physical destinations associated with the numbers. Such a translation is referred to as a global title translation, and the tables maintained by the service control points are referred to as global title translation tables. The switches and/or signal transfer points maintain tables which identify which service control points serve which 800/900 numbers.
A signaling message flow for a typical call of the type 800 NXX XXXX or 900 NXX XXXX which traverses the various network elements is as follows.
An originating switch node receives a call request message, typically in the form of an initial address message, from a local exchange network or a competitive access provider serving the calling party. The originating switch node validates the message. If an error is detected in the message during the validation process, the call flow ends.
If no error is detected in the message, the originating switch node looks to its global title translation table to determine the identity of a service control point which can provide processing and routing instructions for the call.
The global title translation table contains entries representing all numbers served by the network (e.g., 800 NXX XXXX or 900 NXX XXXX). For each dialed number, the table provides a service control point identification and a subsystem number identifying the application at that service control point. If the dialed number does not match an entry in the global title translation table, either the table is in error or the local exchange carrier switch or competitive access provider's switch misrouted the call.
Assuming a valid dialed number entry exists in the table, the originating switch node formulates a query message, also called a transaction capabilities application part message, requesting call routing and processing information. The originating switch node sends the query message to the service control point identified by the global title translation table. In some existing systems, a signal transfer point, instead of the originating switch node, looking at its own global title translation tables, routes a query message to the identified service control point.
After the service control point receives the query message, it formulates a response message containing instructions for processing and routing the call, and forwards the response message back to the originating switch node. If the service control point determines that it does not serve the dialed number received in the query message, the service control point will identify the error in the response message. Thus, the response message may contain instructions for processing and routing the call, or may be used to communicate that the call is being aborted because of an error detected at the service control point.
The originating switch node receives the response message and validates it. Assuming reception and validation of the response message is successful, the originating switch node proceeds to route the call. As part of the routing function, it sends the request message to a terminating switch node via a signal transfer point.
After the terminating switch node receives the request message from the signal transfer point and validates it, it forwards the request message to a local exchange carrier or private branch exchange serving the called party. If a private branch exchange serves the called party, however, the terminating switch node forwards, using Q.931 protocol, a set-up message (equivalent to the request message) to the private branch exchange. In both cases, the signaling in the forward direction for the call is thereby completed.
For a call terminating at a local exchange carrier, the local exchange carrier switch receives the called number, forwards the call to a known telephone destination and sends an address complete message to the terminating switch node indicating that the called party is alerted to the incoming call. For a call terminating at a private branch exchange, the private branch exchange receives the called number, and sends a call proceeding message and an alerting message to the terminating switch node.
After the terminating switch node receives either the address complete message or the alerting message, it regenerates an address complete message and sends it to the originating switch node. The originating switch node forwards the address complete message it receives from the terminating switch node to the local exchange carrier or competitive access provider switch associated with the calling party. Each switch provides a through connection for a voice path. The calling party then hears a ring back tone.
When the called party answers the call, either the called party's local exchange carrier sends an answer message, or the called party's private branch exchange sends a connect message, to the terminating switch node. If the called party is a private branch exchange, the terminating switch node sends a connect acknowledge message to the private branch exchange. Once the terminating switch node receives either the answer message or the connect message, it regenerates an answer message to the originating switch node.
The originating switch node regenerates the answer message to the local exchange carrier or competitive access provider switch associated with the calling party. After the calling and called parties hold a conversation, and the calling party hangs up, the local exchange carrier or competitive access provider switch sends a release message to the originating switch node. The originating switch node then sends the release message to the terminating switch node.
For a call completing to a local exchange carrier, the terminating switch node sends the release message to the local exchange carrier. The local exchange carrier responds with a release complete message, resulting in the call being torn down. The breakdown of a Q.931 connection to a private branch exchange requires the terminating switch node to send a disconnect message to the private branch exchange. The private branch exchange then sends a Q.931 release message to the terminating switch node. The terminating switch node in response sends a Q.931 protocol release complete message to the private branch exchange, which also results in the call being torn down.
The same call flow usually applies when the dialed number contains an area code indicating a geographic region associated with the called party, except that originating switch nodes are often able to route these calls based on their own routing tables, using additional information from automatic number identification tables and dialed number tables, without sending query messages to service control points for routing and processing instructions.
When services based on calling and called numbers are offered to network customers, automatic number identification tables and dialed number tables are maintained by each switch. Each table may contain millions of entries, and the number of entries increases as the services offered to a large population are expanded.
Network customers maintaining an 800 or 900 number often subscribe to a time-of-day routing service, such that their calls are directed to different telephone destinations at different times of the day. The translation of an 800 or 900 number to a physical destination based on time-of-day is performed by a service control point which uses its own local clock as a time reference. Typically, there is no provision for clock synchronization throughout the network, so that if the local clock is not accurate, calls of customers subscribing to a time-of-day routing service may be directed to the wrong location.
Customers may also subscribe to a data collection and reporting service which provides information regarding the distribution of 800 or 900 calls by time-of-day, day-of-week, etc. as well as distribution by destination and origin of calls. This information is commonly generated by service control points and sent periodically to a central computer. Alternatively, equipment is placed on each incoming and outgoing SS7 signaling link to collect messages going to or coming from each service control point. These data collection methods, however, do not provide information regarding calls which failed in the call set-up stage, such as calls which never reached a service control point. In addition, part of the processing power of the service control point is expended to perform these functions when the service control point collects and sends data to a central computer, and placing equipment to collect data on each link to each service control point represents a cumbersome and costly method of data collection.
Post-dialing delay, i.e., the delay between dialing of the called number and the receipt of the ring-back tone, has become a direct measure of the quality of network performance. Currently, measurement of post-dialing delay is limited because there is no satisfactory mechanism in place to monitor post-dialing delay on an ongoing basis.
The call details recording function for customer billing for a telecommunications network is commonly performed by originating switch nodes. An originating switch node analyzes the per call messages corresponding to the calls it controls, as described above. The switch node sets call billing parameters for a call when it receives the response message containing processing and routing information for the call from a service control point. The switch node notes the time the called party answered and the time the connection was released, and prepares a call detail record. Call detail records are forwarded to a data-processing center where the data is periodically processed to compute customer charges.
Utilizing the originating switch node to perform these functions results in limited flexibility for user-defined billing, and the inability to detect and control fraud or abuse of the telecommunications network, such as stalking, in real-time. A stalker is a person who places a call to a target party for purposes of harassment, etc. When the called party answers, the stalker hangs up. Currently, the call is not billed and there is no record of the stalker's abusive calls. Also, since data regarding calls is collected from originating switch nodes and other network elements only periodically, real-time detection of faults in the network is not possible.
Fault management has been handled in various ways in prior art systems, none of which are completely satisfactory. In one common practice, when an error is detected during the validation process performed by a network element, the network element responsible for validating the message stores the data regarding the error. The network element is then typically polled to retrieve the error data, or programmed to report the error data at predetermined intervals to a central computer. This can result in errors occurring and remaining undetected for a certain period of time.
Alternatively, selected calls entering a network system can be placed under surveillance by setting a predetermined bit called a surveillance bit in the messages associated with a particular call. The messages with their surveillance bits set are copied and forwarded to a processing element by each network element traversed by the call. As a result, a history for each selected call is provided up to the call's failure. For a detailed discussion of such a call surveillance technique, see Bhusri, U.S. Pat. No. 4,959,849. A description of a network element architecture capable of switching messages between the other network elements and also of reproducing the message and forwarding the reproduced message over a data network to a central processor may also be found in Bhusri at col. 5.
Even using the call surveillance technique, inability to effectively and efficiently monitor the status of each call entering a telecommunications system in real-time may result in errors occurring and going undetected.